#pragma once
#ifndef ParticleScriptPage_header_included
#define ParticleScriptPage_header_included

class TextEditor;

class ParticleScriptPage :
	public wxPanel
{
public:
	ParticleScriptPage(wxWindow* parent, int locale);
	~ParticleScriptPage(void);

	// Particle menu ---
	void OnNewParticle(wxCommandEvent& e);
	bool OnLoadParticle(wxCommandEvent& e);
	bool OnSaveParticle(wxCommandEvent& e);
	bool OnSaveAsParticle(wxCommandEvent& e);
	const wxString& GetParticlePath() const;
	wxString GetParticleScript() const;
	// --- Particle menu

	// Material menu ---
	void OnNewMaterial(wxCommandEvent& e);
	bool OnLoadMaterial(wxCommandEvent& e);
	bool OnSaveMaterial(wxCommandEvent& e);
	bool OnSaveAsMaterial(wxCommandEvent& e);

	const wxString& GetMaterialPath() const;
	wxString GetMaterialScript() const;
	// --- Material menu

	void CheckSave();
	void UpdateAUI();

	DECLARE_EVENT_TABLE()

private:
	void OnSize(wxSizeEvent& e);

private:
	TextEditor* mFXEditor;
	TextEditor* mMaterialEditor;
	wxAuiManager mAuiMgr;
};

#endif //ParticleScriptPage_header_included